package com.liu.mapper;

import com.liu.entity.Goods;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface GoodsMapper {
    /**
     * 得到商品列表
     * @return
     */
    List<Goods> getGoodsList();

    /**
     * 根据主键删除商品
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 插入一个商品
     * @param record
     * @return
     */
    int insert(Goods record);

    /**
     * ？？？？？？？？？？？？？？？？？？？？？？？
     * @param record
     * @return
     */
    int insertSelective(Goods record);

    /**
     * 根据主键查询商品
     * @param id
     * @return
     */
    Goods selectByPrimaryKey(Long id);

    /**
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Goods record);

    /**
     * 根据主键更新商品     （这个要重点关注一下）
     * @param record
     * @return
     */
    int updateByPrimaryKey(Goods record);

    /**
     * 购买了amount数量的goodsId商品    这边是减库存
     * @param goodsId
     * @param amount
     * @return
     */
    int increaseSales(@Param("id") Long goodsId, @Param("amount") Integer amount);
}